#pragma once
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <signal.h>
#include <unistd.h>
#include <cstdlib>
void MyDaemon()
{
    // 1.忽略信号
    signal(SIGCHLD,SIG_IGN);
    signal(SIGPIPE,SIG_IGN);

    // 2.不要让自己成为组长
    if(fork() > 0) exit(0);
    // 3.调用setsid
    setsid();
    // 4.标准输入，标准输出，标准错误重定向，守护进程不能直接向显示器打印
    int devnull = open("/dev/null",O_RDONLY|O_WRONLY);
    if(devnull > 0)
    {
        dup2(1,devnull);
        dup2(2,devnull);
        dup2(0,devnull);
        close(devnull);
    }
}